//package fwmpc.store.multiple;
//
//import fwmpc.exception.WeiXinRuntimeException;
//import fwmpc.exception.WeixinStatusCodeEnum;
//import fwmpc.resource.IWeiXinAttributeItem;
//import fwmpc.resource.IWeiXinCommonAttribute;
//import fwmpc.store.AbstractWeiXinInStorageBasicService;
//import lombok.extern.slf4j.Slf4j;
//
///**
// * 类描述:  微信多平台配置属性存储处理
// *
// * @author 王雷
// * @version 1.0.0
// * @date : 2022/6/28 0028 下午 4:58
// */
//@Slf4j
//public abstract class WeiXinMultipleInStorageService extends AbstractWeiXinInStorageBasicService {
//
//    /**
//     * 功能描述：微信配置属性存储处理
//     *
//     * @param iWeiXinCommonAttribute 微信配置属性存储处理
//     * @date : 2022/6/28 0028 下午 4:58
//     */
//    protected WeiXinMultipleInStorageService(IWeiXinCommonAttribute iWeiXinCommonAttribute) {
//        super(iWeiXinCommonAttribute);
//    }
//
//    /**
//     * 功能描述：获取默认微信处理数据描述对象
//     *
//     * @param platformKey 平台标识
//     * @return 对应存储的配置信息
//     * @throws RuntimeException 运行时异常
//     * @author : 王雷
//     * @date : 2021/1/18 0018 上午 11:14
//     */
//    @Override
//    public IWeiXinAttributeItem giveWeiXinCommonAttributeDefault(Long platformKey) throws WeiXinRuntimeException {
//        return iWeiXinCommonAttribute.initAttribute(null, platformKey);
//    }
//
//    /**
//     * 功能描述：根据枚举获取对应的存储数据
//     *
//     * @param appId 配置的识别Key
//     * @return 对应存储的配置信息
//     * @throws RuntimeException 运行时异常
//     * @author : 王雷
//     * @date : 2021/1/18 0018 上午 11:14
//     */
//    @Override
//    public IWeiXinAttributeItem giveWeiXinCommonAttribute(String appId, Long platformKey) throws WeiXinRuntimeException {
//        try {
//            return giveRedisSerializableManager().giveValueByKeyToLock(REDIS_WEI_XIN_ATTRIBUTE_CONFIG_CACHE_KEY + appId
//                    , () -> initWeiXinAttributeData(appId, platformKey), iWeiXinCommonAttribute.giveExecutionInterval()
//                    , iWeiXinCommonAttribute.giveExecutionIntervalUnit());
//        } catch (Exception e) {
//            if (e.getClass().equals(WeiXinRuntimeException.class)) {
//                throw (WeiXinRuntimeException) e;
//            }
//            throw new WeiXinRuntimeException(WeixinStatusCodeEnum.Code_500.hashCode(), WeixinStatusCodeEnum.Code_500.getContentName()
//                    , "初始化缓存数据异常");
//        }
//    }
//}
